package com.hiultra.archive.mapper;

import java.util.List;

import com.hiultra.archive.domain.ArchiveBorrowTask;
import com.hiultra.archive.domain.ArchiveBorrow;
import org.apache.ibatis.annotations.Param;

/**
 * 借阅任务Mapper接口
 *
 * @author ls
 * @date 2024-07-19
 */
public interface ArchiveBorrowTaskMapper {
    /**
     * 查询借阅任务
     *
     * @param taskId 借阅任务主键
     * @return 借阅任务
     */
    public ArchiveBorrowTask selectArchiveBorrowTaskByTaskId(String taskId);

    /**
     * 查询借阅任务列表
     *
     * @param archiveBorrowTask 借阅任务
     * @return 借阅任务集合
     */
    public List<ArchiveBorrowTask> selectArchiveBorrowTaskList(ArchiveBorrowTask archiveBorrowTask);

    /**
     * 新增借阅任务
     *
     * @param archiveBorrowTask 借阅任务
     * @return 结果
     */
    public int insertArchiveBorrowTask(ArchiveBorrowTask archiveBorrowTask);

    /**
     * 修改借阅任务
     *
     * @param archiveBorrowTask 借阅任务
     * @return 结果
     */
    public int updateArchiveBorrowTask(ArchiveBorrowTask archiveBorrowTask);

    /**
     * 删除借阅任务
     *
     * @param taskId 借阅任务主键
     * @return 结果
     */
    public int deleteArchiveBorrowTaskByTaskId(String taskId);

    /**
     * 批量删除借阅任务
     *
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArchiveBorrowTaskByTaskIds(String[] taskIds);

    /**
     * 批量删除借阅信息数据
     *
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteArchiveBorrowByTaskIds(String[] taskIds);

    /**
     * 批量新增借阅信息数据
     *
     * @param archiveBorrowList 借阅信息数据列表
     * @return 结果
     */
    public int batchArchiveBorrow(List<ArchiveBorrow> archiveBorrowList);


    /**
     * 通过借阅任务主键删除借阅信息数据信息
     *
     * @param taskId 借阅任务ID
     * @return 结果
     */
    public int deleteArchiveBorrowByTaskId(String taskId);

    /**
     * 通过工单编号 查重
     * @param borrowNo
     * @return
     */
    public ArchiveBorrowTask selectArchiveBorrowTaskByBorrowNo(String borrowNo);
}
